package sinfoci.alquimiabtl.notificaciones.actividades;

import java.util.Timer;
import java.util.TimerTask;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import sinfoci.alquimiabtl.notificaciones.conexion.ConsultasBD;
import sinfoci.alquimiabtl.notificaciones.objetos.Usuario;
import sinfoci.alquimiabtl.notificaciones.utilities.SendNotifications;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings.Secure;
import android.view.Menu;
/**
 * Esta es la actividad principal Fenix
 * @author Bryan Camilo Perez Trujillo <br>
 * AlquimiaBTL - SINFOCI
 *
 */
public class Fenix extends Activity {

	private long splashDelay = 2000; // 6 segundos

	/**
	 * Este es el metodo onCreate el cual se ejecuta al momento de crear la actividad Fenix
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_fenix);

		TimerTask task = new TimerTask() {
			@Override
			public void run() {
				String idAndroid = Secure.getString(getApplicationContext()
						.getContentResolver(), Secure.ANDROID_ID);
				
				System.out.println("###########################: " + idAndroid);
				
				JSONArray infoUsuario = ConsultasBD
						.consultarIdAndroid(idAndroid);
				if (infoUsuario == null || infoUsuario.length() == 0) {

					Intent crearUsuario = new Intent(Fenix.this, Registro.class);
					startActivity(crearUsuario);
				} else {
					try {
						JSONObject infoUsuarioObject = infoUsuario
								.getJSONObject(0);
						Usuario.instance.setNombre(infoUsuarioObject
								.getString("nombre"));
						Usuario.instance.setCorreo(infoUsuarioObject
								.getString("correo"));
						Usuario.instance.setSexo(infoUsuarioObject
								.getString("sexo"));
						Usuario.instance.setCiudad(infoUsuarioObject
								.getInt("ciudad"));
						Usuario.instance.setIdUsuario(infoUsuarioObject
								.getString("idusuario"));

						SendNotifications.instance.registerCityListener(
								getApplicationContext(),
								infoUsuarioObject.getInt("ciudad"));

						Intent notificaciones = new Intent(Fenix.this,
								MenuApp.class);
						startActivity(notificaciones);
					} catch (JSONException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

				}
				finish();
			}
		};

		Timer timer = new Timer();
		timer.schedule(task, splashDelay);// Pasado los 6 segundos dispara la

	}

	/**
	 * Este metodo es donde se incluyen las acciones y otras opciones que son
	 * relevantes para el contexto de la actividad Fenix
	 */
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.act_principal, menu);
		return true;
	}

}
